package huixue.cn.com.rxapp.widget.util;

import java.util.Arrays;

/**
 * Created by Administrator on 2018/8/14.
 */

public class LineUtil {

    /**
     * 获取数组中最大最小值
     * @param list
     * @return
     */
    public static float[] getMaxAndMin(float[] list) {
        if(list == null || list.length == 0) return new float[]{0, 0};
        float max = 0,min =0;
        float[] temp = list.clone();
        Arrays.sort(temp);
        max = temp[temp.length - 1];
        min = temp[0];
        return new float[] {max, min};
    }


    /**
     * 获取数组中最大最小值
     * @param list1
     * @return
     */
    public static float[] getMaxAndMin(float[] list1, float[] list2) {
        float max = 0, min = 0;
        float[] f1 = getMaxAndMin(list1);
        float[] f2 = getMaxAndMin(list2);
        max = f1[0] > f2[0] ? f1[0] : f2[0];
        min = f1[1] < f2[1] ? f1[1] : f2[1];
        return new float[] {max, min};
    }


    /**
     * 获取数组中最大最小值
     * @param list1
     * @return
     */
    public static float[] getMaxAndMin(float[] list1, float[] list2, float[] list3) {
        float max = 0, min = 0;
        float[] f1 = getMaxAndMin(list1);
        float[] f2 = getMaxAndMin(list2);
        float[] f3 = getMaxAndMin(list3);
        max = f1[0] > f2[0] ? f1[0] : f2[0];
        max = max > f3[0] ? max : f3[0];
        min = f1[1] < f2[1] ? f1[1] : f2[1];
        min = min < f3[1] ? min : f3[1];
        return new float[] {max, min};
    }

    /**
     * 获取数组中最大最小值
     * @param list1
     * @return
     */
    public static float[] getMaxAndMin(float[] list1, float[] list2, float[] list3, float[] list4) {
        float max = 0, min = 0;
        float[] f1 = getMaxAndMin(list1);
        float[] f2 = getMaxAndMin(list2);
        float[] f3 = getMaxAndMin(list3);
        float[] f4 = getMaxAndMin(list4);
        float[] f123 = getMaxAndMin(f1, f2, f3);
        max = f123[0] > f4[0] ? f123[0] : f4[0];
        min = f123[1] < f4[1] ? f123[1] : f4[1];
        return new float[] {max, min};
    }

}
